Test that various MessageEvents are trusted See https://github.com/whatwg/html/pull/1935.
diff --git a/webmessaging/MessageEvent-trusted.html b/webmessaging/MessageEvent-trusted.html new file mode 100644 index 0000000..8cde663 --- /dev/null +++ b/webmessaging/MessageEvent-trusted.html 
@@ -0,0 +1,45 @@ +<!DOCTYPE html> +<title>MessagePort message events are trusted</title> +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> +<link rel="help" href="https://html.spec.whatwg.org/multipage/comms.html#dom-messageport-postmessage"> +<!-- See also: +- https://github.com/whatwg/html/issues/1602 +- https://github.com/whatwg/html/pull/1935 +--> + +<script> +"use strict"; + +async_test(t => { + assert_true("MessageChannel" in self, "The browser must support MessageChannel"); + + const channel = new MessageChannel(); + + channel.port2.onmessage = t.step_func_done(e => { + assert_equals(e.isTrusted, true); + }); + + channel.port1.postMessage("ping"); +}, "With a MessageChannel and its MessagePorts"); + +async_test(t => { + assert_true("BroadcastChannel" in self, "The browser must support BroadcastChannel"); + + const channel = new BroadcastChannel("channel name"); + + channel.onmessage = t.step_func_done(e => { + assert_equals(e.isTrusted, true); + }); + + new Worker("MessageEvent-trusted-worker.js"); +}, "With a BroadcastChannel"); + +async_test(t => { + window.onmessage = t.step_func_done(e => { + assert_equals(e.isTrusted, true); + }); + + window.postMessage("ping", "*"); +}, "With window"); +</script>